package insigin;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author huu
 * @create 2025-08-23-19:12
 * @description: 尝试遍历自定义的迭代器，使用增强for循环来遍历User类
 */
public class main {
    public static void main(String[] args) {
//        List<User> list = new ArrayList<>();
//        list.add(new User("张三",18));
//        list.add(new User("李四",18));
//        //现在我希望当遇到年龄为18岁的人就往里面加一条数据
//        //下面这个代码会报错，会报一个修改错误------------期望的一个版本发生变化所以会报错，但是当你加入就Break就不会了
////        for (User user : list) {
////            if (user.getAge() == 18) {
////                list.add(new User("王五",18));
////            }
////        }
//        //上面这个代码等价于,增强for循环就是拿迭代器来了，如果我们想做for(String s : User)那么就需要实现自定义迭代器
//        Iterator<User> iterator = list.iterator();
//        while (iterator.hasNext()) {
//            //tips: 快捷修改一个名字shift + F6
//            User next = iterator.next();
//            if (next.getAge() == 18) {
//                list.add(new User("王五",18));
//            }
//        }
//        System.out.println(list);
//        //可迭代的类
//        User user = new User("张三",18);
//        for(String s : user){
//            System.out.println(s);
//        }
        //实现自定一文件格式的读取
        File file = new File("E:\\develop\\javacode\\java_design\\itreator\\src\\main\\java\\insigin\\demo.user");
        UserFile userFile = new UserFile(file);
        for (User user : userFile) {
            System.out.println(user);
        }
    }
}
